
/*
Description:
Given a collection of distinct integers, return all possible permutations.

Example:

Input: [1,2,3]
Output:
[
[1,2,3],
[1,3,2],
[2,1,3],
[2,3,1],
[3,1,2],
[3,2,1]
]
*/

#include <iostream>
#include <string>
#include <vector>
using namespace std;

class Solution {
public:
	vector<vector<int>> permute(vector<int>& nums) {
		vector<vector<int>> ns;
		vector<int> n;
		int len = nums.size();

		for (int i = 0; i < len; i++)
		{
			//n.push_back(nums[i]);			
		}

		return ns;
	}	
};

int _permute()
{
	vector<int> nums{ 1,2,3 };
	Solution solu;
	vector<vector<int>> permuts;

	cout << "nums:" << endl;
	for (auto n : nums)
	{
		cout << n << " ";
	}
	cout << endl;

	permuts = solu.permute(nums);

	cout << "permuts:" << endl;
	for (auto v : permuts)
	{
		for (auto n : v)
		{
			cout << n << " ";
		}
		cout << endl;
	}
	
	return 0;
}